private JsonElement serializeAsJson() {
JsonObject result = new JsonObject();
result.addProperty("hostname", Utils.getHostname());
result.addProperty("dateBeginStr", Utils.formatCompleteDate(this.scanner.getScannerRunningBeginDate()));
this.addDate(result, "dateBegin", this.scanner.getScannerRunningBeginDate());
result.addProperty("dateEndStr", Utils.formatCompleteDate(this.scanner.getScannerRunningEndDate()));
this.addDate(result, "dateEnd", this.scanner.getScannerRunningEndDate());
result.addProperty("duration", this.scanner.getScannerDuration());
result.addProperty("dateLookedFromStr", Utils.formatCompleteDate(this.scanner.getLookFromDate()));
this.addDate(result, "dateLookedFrom", this.scanner.getLookFromDate());
result.addProperty("dateLookedToStr", Utils.formatCompleteDate(this.scanner.getLookToDate()));
this.addDate(result, "dateLookedTo", this.scanner.getLookToDate());
result.addProperty("totalRepoNumber", this.scanner.getTotalRepoNumber());
result.addProperty("totalRepoUsingTravis", this.scanner.getTotalRepoUsingTravis());
result.addProperty("totalScannedBuilds", this.scanner.getTotalScannedBuilds());
result.addProperty("totalJavaBuilds", this.scanner.getTotalBuildInJava());
result.addProperty("totalJavaPassingBuilds", this.scanner.getTotalJavaPassingBuilds());
result.addProperty("totalJavaFailingBuilds", this.scanner.getTotalBuildInJavaFailing());
result.addProperty("totalJavaFailingBuildsWithFailingTests", this.scanner.getTotalBuildInJavaFailingWithFailingTests());
result.addProperty("totalPRBuilds", this.scanner.getTotalPRBuilds());
result.addProperty("totalFailingAndPassingBuildPairs", this.scanner.getTotalNumberOfFailingAndPassingBuildPairs());
result.addProperty("totalPassingAndPassingBuildPairs", this.scanner.getTotalNumberOfPassingAndPassingBuildPairs());
result.addProperty("totalPairOfBuilds", this.scanner.getTotalNumberOfFailingAndPassingBuildPairs() + this.scanner.getTotalNumberOfPassingAndPassingBuildPairs());
result.addProperty("runId", this.scanner.getRunId());
return result;
}