incubator-eagle git commit: [EAGLE-834] Update Daily Job Summery Report
Repository: incubator-eagle Updated Branches: refs/heads/master 229d7b907 -> a89275bfc [EAGLE-834] Update Daily Job Summery Report https://issues.apache.org/jira/browse/EAGLE-834 * update mail subject & title * adjust mail template and enrich the summary data * fix a query bug in the mr job list API (GET /mrJobs) Author: Zhao, QingwenCloses #749 from qingwen220/EAGLE-834. Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/a89275bf Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/a89275bf Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/a89275bf Branch: refs/heads/master Commit: a89275bfc86c4db63688e28ff12196ee97a78207 Parents: 229d7b9 Author: Zhao, Qingwen Authored: Fri Dec 16 15:04:00 2016 +0800 Committer: Zhao, Qingwen Committed: Fri Dec 16 15:04:00 2016 +0800 -- .../mr/history/MRHistoryJobDailyReporter.java | 169 +-- .../src/main/resources/JobReportTemplate.vm | 118 +++-- .../history/MRHistoryJobDailyReporterTest.java | 43 ++--- .../service/jpm/MRJobExecutionResource.java | 26 +-- 4 files changed, 177 insertions(+), 179 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/a89275bf/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobDailyReporter.java -- diff --git a/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobDailyReporter.java b/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobDailyReporter.java index 6b38244..0dc6c5f 100644 --- a/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobDailyReporter.java +++ b/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobDailyReporter.java @@ -39,19 +39,20 @@ import java.io.IOException; import java.util.*; import java.util.concurrent.TimeUnit; +import static org.apache.eagle.common.config.EagleConfigConstants.EAGLE_TIME_ZONE; import static org.apache.eagle.common.config.EagleConfigConstants.SERVICE_HOST; import static org.apache.eagle.common.config.EagleConfigConstants.SERVICE_PORT; public class MRHistoryJobDailyReporter extends AbstractScheduledService { private static final Logger LOG = LoggerFactory.getLogger(MRHistoryJobDailyReporter.class); -private static final String TIMEZONE_PATH = "service.timezone"; + private static final String DAILY_SENT_HOUROFDAY = "application.dailyJobReport.reportHourTime"; private static final String DAILY_SENT_PERIOD = "application.dailyJobReport.reportPeriodInHour"; private static final String NUM_TOP_USERS = "application.dailyJobReport.numTopUsers"; private static final String JOB_OVERTIME_LIMIT_HOUR = "application.dailyJobReport.jobOvertimeLimitInHour"; public static final String SERVICE_PATH = "application.dailyJobReport"; -public static final String APP_TYPE = "MR_HISTORY_JOB_APP"; +protected static final String APP_TYPE = "MR_HISTORY_JOB_APP"; // alert context keys protected static final String NUM_TOP_USERS_KEY = "numTopUsers"; @@ -64,6 +65,12 @@ public class MRHistoryJobDailyReporter extends AbstractScheduledService { protected static final String FINISHED_JOB_USERS_KEY = "finishedJobUsers"; protected static final String EAGLE_JOB_LINK_KEY = "eagleJobLink"; +// queries +private static final String STATUS_QUERY = "%s[@site=\"%s\" and @endTime<=%s]<@currentState>{count}.{count desc}"; +private static final String FAILED_JOBS_QUERY = "%s[@site=\"%s\" and @currentState=\"FAILED\" and @endTime<=%s]<@user>{count}.{count desc}"; +private static final String SUCCEEDED_JOB_QUERY = "%s[@site=\"%s\" and @currentState=\"SUCCEEDED\" and @durationTime>%s and @endTime<=%s]<@user>{count}.{count desc}"; +private static final String FINISHED_JOB_QUERY = "%s[@site=\"%s\" and @endTime<=%s]<@user>{count}.{count desc}"; + private Config config; private IEagleServiceClient client; private ApplicationEntityService applicationResource; @@ -77,13 +84,13 @@ public class MRHistoryJobDailyReporter extends AbstractScheduledService { private int jobOvertimeLimit = 6; // scheduler -private int initialDelayMin = 10; +private int initialDelayMin = 5; private int periodInMin = 60; private TimeZone timeZone; @Inject public MRHistoryJobDailyReporter(Config config, ApplicationEntityService applicationEntityService) { -this.timeZone = TimeZone.getTimeZone(config.getString(TIMEZONE_PATH)); +this.timeZone =
incubator-eagle git commit: [MINOR] add stream data source config for mr history job
Repository: incubator-eagle Updated Branches: refs/heads/master e24de5c7e -> 229d7b907 [MINOR] add stream data source config for mr history job Author: wujinhuCloses #748 from wujinhu/EAGLE-796. Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/229d7b90 Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/229d7b90 Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/229d7b90 Branch: refs/heads/master Commit: 229d7b9073a430de7dbbb12d39ddc330646eb458 Parents: e24de5c Author: wujinhu Authored: Fri Dec 16 14:55:47 2016 +0800 Committer: wujinhu Committed: Fri Dec 16 14:55:47 2016 +0800 -- .../apache/eagle/jpm/mr/history/storm/JobHistorySpout.java | 9 ++--- ...eagle.jpm.mr.history.MRHistoryJobApplicationProvider.xml | 9 - 2 files changed, 14 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/229d7b90/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/storm/JobHistorySpout.java -- diff --git a/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/storm/JobHistorySpout.java b/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/storm/JobHistorySpout.java index 0cd30ae..d7daa5e 100644 --- a/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/storm/JobHistorySpout.java +++ b/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/storm/JobHistorySpout.java @@ -140,7 +140,12 @@ public class JobHistorySpout extends BaseRichSpout { JobHistoryZKStateManager.instance().init(appConfig.getZkStateConfig()); JobHistoryZKStateManager.instance().ensureJobPartition(partitionId, numTotalPartitions); interceptor.setSpoutOutputCollector(collector); - +if (streamPublishers != null) { +for (StreamPublisher streamPublisher : streamPublishers) { +streamPublisher.setCollector(this.interceptor); + StreamPublisherManager.getInstance().addStreamPublisher(streamPublisher); +} +} try { jhfLCM = new JobHistoryDAOImpl(jobHistoryEndpointConfig); driver = new JHFCrawlerDriverImpl( @@ -189,8 +194,6 @@ public class JobHistorySpout extends BaseRichSpout { if (streamPublishers != null) { for (StreamPublisher streamPublisher : streamPublishers) { declarer.declareStream(streamPublisher.stormStreamId(), new Fields("f1", "message")); -streamPublisher.setCollector(this.interceptor); - StreamPublisherManager.getInstance().addStreamPublisher(streamPublisher); } } else { declarer.declare(new Fields("f1", "message")); http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/229d7b90/eagle-jpm/eagle-jpm-mr-history/src/main/resources/META-INF/providers/org.apache.eagle.jpm.mr.history.MRHistoryJobApplicationProvider.xml -- diff --git a/eagle-jpm/eagle-jpm-mr-history/src/main/resources/META-INF/providers/org.apache.eagle.jpm.mr.history.MRHistoryJobApplicationProvider.xml b/eagle-jpm/eagle-jpm-mr-history/src/main/resources/META-INF/providers/org.apache.eagle.jpm.mr.history.MRHistoryJobApplicationProvider.xml index ccf3c6b..1ff9b85 100644 --- a/eagle-jpm/eagle-jpm-mr-history/src/main/resources/META-INF/providers/org.apache.eagle.jpm.mr.history.MRHistoryJobApplicationProvider.xml +++ b/eagle-jpm/eagle-jpm-mr-history/src/main/resources/META-INF/providers/org.apache.eagle.jpm.mr.history.MRHistoryJobApplicationProvider.xml @@ -96,6 +96,13 @@ true +dataSourceConfig.zkConnection +Kafka Zookeeper Quorum +localhost:2181 +kafka zookeeper connection +true + + dataSinkConfig.serializerClass Serializer Class For Kafka Message Value kafka.serializer.StringEncoder @@ -221,7 +228,7 @@ string -queue +hostname string
incubator-eagle git commit: [MINOR] fix job & task attempt stream publisher bug in storm env
Repository: incubator-eagle Updated Branches: refs/heads/master 8fe968cb7 -> e24de5c7e [MINOR] fix job & task attempt stream publisher bug in storm env Author: wujinhuCloses #747 from wujinhu/EAGLE-796. Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/e24de5c7 Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/e24de5c7 Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/e24de5c7 Branch: refs/heads/master Commit: e24de5c7e85f7dba7eb5dfc4aee56b421c0e8ec4 Parents: 8fe968c Author: wujinhu Authored: Fri Dec 16 11:23:40 2016 +0800 Committer: wujinhu Committed: Fri Dec 16 11:23:40 2016 +0800 -- .../jpm/mr/history/MRHistoryJobApplication.java | 15 +--- .../crawler/DefaultJHFInputStreamCallback.java | 6 ++--- .../jpm/mr/history/parser/JHFParserFactory.java | 3 +-- .../JobEntityCreationEagleServiceListener.java | 8 +++ .../history/publisher/JobStreamPublisher.java | 4 ++-- .../mr/history/publisher/StreamPublisher.java | 13 +-- .../publisher/TaskAttemptStreamPublisher.java | 4 ++-- .../jpm/mr/history/storm/JobHistorySpout.java | 24 history.MRHistoryJobApplicationProvider.xml | 15 9 files changed, 53 insertions(+), 39 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e24de5c7/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobApplication.java -- diff --git a/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobApplication.java b/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobApplication.java index e2695a3..4d02e91 100644 --- a/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobApplication.java +++ b/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/MRHistoryJobApplication.java @@ -24,6 +24,7 @@ import org.apache.eagle.jpm.mr.history.crawler.JobHistoryContentFilter; import org.apache.eagle.jpm.mr.history.crawler.JobHistoryContentFilterBuilder; import org.apache.eagle.jpm.mr.history.crawler.JobHistorySpoutCollectorInterceptor; import org.apache.eagle.jpm.mr.history.publisher.JobStreamPublisher; +import org.apache.eagle.jpm.mr.history.publisher.StreamPublisher; import org.apache.eagle.jpm.mr.history.publisher.StreamPublisherManager; import org.apache.eagle.jpm.mr.history.publisher.TaskAttemptStreamPublisher; import org.apache.eagle.jpm.mr.history.storm.JobHistorySpout; @@ -67,8 +68,7 @@ public class MRHistoryJobApplication extends StormApplication { TopologyBuilder topologyBuilder = new TopologyBuilder(); String spoutName = "mrHistoryJobSpout"; int tasks = jhfAppConf.getInt("stormConfig.mrHistoryJobSpoutTasks"); -JobHistorySpoutCollectorInterceptor collectorInterceptor = new JobHistorySpoutCollectorInterceptor(); -JobHistorySpout jobHistorySpout = new JobHistorySpout(filter, appConfig, collectorInterceptor); +JobHistorySpout jobHistorySpout = new JobHistorySpout(filter, appConfig); topologyBuilder.setSpout( spoutName, jobHistorySpout, @@ -89,14 +89,11 @@ public class MRHistoryJobApplication extends StormApplication { String spoutToTaskAttemptSinkName = spoutName + "_to_" + taskAttemptSinkBoltName; taskAttemptKafkaBoltDeclarer.shuffleGrouping(spoutName, spoutToTaskAttemptSinkName); -List streams = new ArrayList<>(); -streams.add(spoutToJobSinkName); -streams.add(spoutToTaskAttemptSinkName); -jobHistorySpout.setStreams(streams); +List streamPublishers = new ArrayList<>(); +streamPublishers.add(new JobStreamPublisher(spoutToJobSinkName)); +streamPublishers.add(new TaskAttemptStreamPublisher(spoutToTaskAttemptSinkName)); +jobHistorySpout.setStreamPublishers(streamPublishers); -//4, add stream publisher -StreamPublisherManager.getInstance().addStreamPublisher(new JobStreamPublisher(spoutToJobSinkName, collectorInterceptor)); -StreamPublisherManager.getInstance().addStreamPublisher(new TaskAttemptStreamPublisher(spoutToTaskAttemptSinkName, collectorInterceptor)); return topologyBuilder.createTopology(); } } http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/e24de5c7/eagle-jpm/eagle-jpm-mr-history/src/main/java/org/apache/eagle/jpm/mr/history/crawler/DefaultJHFInputStreamCallback.java -- diff --git
incubator-eagle git commit: [EAGLE-834] Improve jpm report template by fixing font-size and notes
Repository: incubator-eagle Updated Branches: refs/heads/master 3082b5e62 -> bb71d37df [EAGLE-834] Improve jpm report template by fixing font-size and notes * Improve jpm report template by fixing font-size and notes http://issues.apache.org/jira/browse/EAGLE-834 Author: Hao ChenCloses #746 from haoch/ImproveJPMReport. Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/bb71d37d Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/bb71d37d Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/bb71d37d Branch: refs/heads/master Commit: bb71d37df856fa7738af9d654afc3a772a0ef8f8 Parents: 3082b5e Author: Hao Chen Authored: Thu Dec 15 19:36:55 2016 +0800 Committer: Hao Chen Committed: Thu Dec 15 19:36:55 2016 +0800 -- .../src/main/resources/JobReportTemplate.vm | 263 ++- .../history/MRHistoryJobDailyReporterTest.java | 6 +- 2 files changed, 88 insertions(+), 181 deletions(-) -- http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/bb71d37d/eagle-jpm/eagle-jpm-mr-history/src/main/resources/JobReportTemplate.vm -- diff --git a/eagle-jpm/eagle-jpm-mr-history/src/main/resources/JobReportTemplate.vm b/eagle-jpm/eagle-jpm-mr-history/src/main/resources/JobReportTemplate.vm index 424306f..c3afa58 100644 --- a/eagle-jpm/eagle-jpm-mr-history/src/main/resources/JobReportTemplate.vm +++ b/eagle-jpm/eagle-jpm-mr-history/src/main/resources/JobReportTemplate.vm @@ -76,7 +76,7 @@ } h3 { -font-size: 16px !important; +font-size: 14px !important; } .container { @@ -119,7 +119,7 @@ bgcolor="#fff"> $alert["alertTitle"] @@ -131,17 +131,19 @@ - -Job Summary - +Time: $alert["reportRange"] + -Time: $alert["reportRange"] + +Summary + @@ -164,7 +166,7 @@ valign="top"> Number of Jobs - Ratio @@ -173,13 +175,19 @@ -$item.status + #set($statusColor = "#337ab7") + #if($item.status == "SUCCEEDED") + #set($statusColor = "green") + #elseif($item.status == "FAILED" || $item.status == "KILLED") + #set($statusColor = "red") +#end +$item.status $item.numOfJobs - #set ($ratio_percentage = $item.ratio * 100) $ratio_percentage % @@ -194,12 +202,14 @@ - ##Top $alert["numTopUsers"] Users (Order by Number of Failed Jobs) -