private static void setGlobalProperties( @NonNull ProcessProfileWriter recorder, @NonNull File projectPath, @NonNull String gradleVersion, @NonNull ILogger logger) { recorder.getProperties() .setOsName(Strings.nullToEmpty(System.getProperty("os.name"))) .setOsVersion(Strings.nullToEmpty(System.getProperty("os.version"))) .setJavaVersion(Strings.nullToEmpty(System.getProperty("java.version"))) .setJavaVmVersion(Strings.nullToEmpty(System.getProperty("java.vm.version"))) .setMaxMemory(Runtime.getRuntime().maxMemory()) .setGradleVersion(Strings.nullToEmpty(gradleVersion)); String anonymizedProjectId; try { anonymizedProjectId = Anonymizer.anonymizeUtf8(logger, projectPath.getAbsolutePath()); } catch (IOException e) { anonymizedProjectId = "*ANONYMIZATION_ERROR*"; } recorder.getProperties().setProjectId(anonymizedProjectId); }
mBuild.addAllSpan(spans); GradleBuildMemorySample memoryStats = createAndRecordMemorySample(); mBuild.setBuildTime( memoryStats.getTimestamp() - mStartMemoryStats.getTimestamp()); mBuild.setGcCount( memoryStats.getGcCount() - mStartMemoryStats.getGcCount()); mBuild.setGcTime( memoryStats.getGcTimeMs() - mStartMemoryStats.getGcTimeMs()); mBuild.addProject(project.properties); Files.newOutputStream( mBenchmarkProfileOutputFile, StandardOpenOption.CREATE_NEW))) { mBuild.build().writeTo(outputStream); .setCategory(AndroidStudioEvent.EventCategory.GRADLE) .setKind(AndroidStudioEvent.EventKind.GRADLE_BUILD_PROFILE) .setGradleBuildProfile(mBuild.build()) .setJavaProcessStats(CommonMetricsData.getJavaProcessStats()) .setJvmDetails(CommonMetricsData.getJvmDetails()));
@TaskAction public void executeAction() { if (instantRunBuildContext.getBuildHasFailed()) { try { instantRunBuildContext.writeTmpBuildInfo(tmpBuildInfoFile); } catch (ParserConfigurationException | IOException e) { throw new RuntimeException("Exception while saving temp-build-info.xml", e); } return; } // done with the instant run context. instantRunBuildContext.close(); try { String xml = instantRunBuildContext.toXml(); if (logger.isEnabled(LogLevel.DEBUG)) { logger.debug("build-id $1$l, build-info.xml : %2$s", instantRunBuildContext.getBuildId(), xml); } Files.createParentDirs(buildInfoFile); Files.write(xml, buildInfoFile, Charsets.UTF_8); } catch (Exception e) { throw new RuntimeException("Exception while saving build-info.xml", e); } // Record instant run status in analytics for this build ProcessProfileWriter.getGlobalProperties() .setInstantRunStatus( InstantRunAnalyticsHelper.generateAnalyticsProto(instantRunBuildContext)); }
private GradleBuildMemorySample createAndRecordMemorySample() { GradleBuildMemorySample stats = GradleBuildMemorySample.newBuilder() .setJavaProcessStats(CommonMetricsData.getJavaProcessStats()) .setTimestamp(System.currentTimeMillis()) .build(); if (stats != null) { mBuild.addMemorySample(stats); } return stats; }