Remove CIServerBuildInfo

It's not used anywhere and requires TC/CI integration

GitOrigin-RevId: 59f27fa3b2a6903d25460e1490b2fb8bf09819b0
This commit is contained in:
Maxim.Kolmakov
2024-09-30 09:35:39 +02:00
committed by intellij-monorepo-bot
parent 69b39c923a
commit 6f0c674d64
5 changed files with 7 additions and 104 deletions

View File

@@ -8,10 +8,7 @@ import com.intellij.cce.util.isUnderTeamCity
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.util.BuildNumber
import com.intellij.tools.ide.metrics.collector.publishing.ApplicationMetricDto
import com.intellij.tools.ide.metrics.collector.publishing.CIServerBuildInfo
import java.nio.file.Path
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
import kotlin.io.path.absolutePathString
import kotlin.io.path.readText
import kotlin.io.path.writeText
@@ -30,19 +27,16 @@ class IntellijPerfJsonReportGenerator(
val reportFile = dir.resolve(metricsInfoName)
LOG.info("generateGlobalReport. save to ${reportFile.absolutePathString()}")
try {
val buildInfo = helper.createBuildInfo()
val perfMetrics = globalMetrics.map { it.toPerfMetric() }
val metricsDto = AiPerformanceMetricsDto
.create(projectName = "#feature#_#lang#_#model#_#os#", //#**# will be used in TC builds, pls don't change it
projectURL = "",
projectDescription = "",
methodName = "",
buildNumber = BuildNumber.currentVersion(),
metrics = perfMetrics,
buildInfo = buildInfo)
metrics = perfMetrics
)
reportFile.writeText(gson.toJson(metricsDto))
helper.afterReport(reportFile)
@@ -74,24 +68,10 @@ private fun MetricInfo.toPerfMetric(namePrefix: String = ""): ApplicationMetricD
private interface ReportHelper {
fun createBuildInfo(): CIServerBuildInfo
fun afterReport(source: Path)
}
private class ReportHelperLocalMock : ReportHelper {
override fun createBuildInfo(): CIServerBuildInfo {
return CIServerBuildInfo(
buildId = "buildId",
typeId = "typeId",
configName = "configName",
buildNumber = "buildNumber",
branchName = "branchName",
url = "url",
isPersonal = false,
timestamp = ZonedDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
)
}
override fun afterReport(source: Path) {
}
}
@@ -101,19 +81,6 @@ private class TeamCityReportHelper : ReportHelper {
private val LOG = logger<TeamCityReportHelper>()
}
override fun createBuildInfo(): CIServerBuildInfo {
return CIServerBuildInfo(
buildId = "#teamcity.build.id#",
typeId = "#teamcity.buildType.id#",
configName = "#teamcity.buildConfName#",
buildNumber = "#teamcity.buildNumber#",
branchName = "#teamcity.build.branch#",
url = "#teamcity.buildUrl#",
isPersonal = false,
timestamp = ZonedDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
)
}
override fun afterReport(source: Path) {
LOG.info("publishTeamCityArtifacts. source=${source.absolutePathString()}")
LOG.info("report content: ${source.readText()}")

View File

@@ -10,7 +10,6 @@ import com.intellij.teamcity.TeamCityClient
import com.intellij.testFramework.UsefulTestCase
import com.intellij.tools.ide.metrics.collector.MetricsCollector
import com.intellij.tools.ide.metrics.collector.metrics.PerformanceMetrics
import com.intellij.tools.ide.metrics.collector.publishing.CIServerBuildInfo
import com.intellij.tools.ide.metrics.collector.publishing.PerformanceMetricsDto
import com.intellij.tools.ide.util.common.withRetry
import kotlinx.coroutines.Dispatchers
@@ -81,27 +80,13 @@ class IJPerfBenchmarksMetricsPublisher {
teamCityClient.publishTeamCityArtifacts(source = PathManager.getLogDir(), artifactPath = uniqueTestIdentifier)
teamCityClient.publishTeamCityArtifacts(source = getIdeTestLogFile(), artifactPath = uniqueTestIdentifier)
val buildInfo = CIServerBuildInfo(
buildId = teamCityClient.buildId,
typeId = teamCityClient.buildTypeId,
configName = teamCityClient.configurationName ?: "",
buildNumber = teamCityClient.buildNumber,
branchName = teamCityClient.branchName,
url = String.format("%s/viewLog.html?buildId=%s&buildTypeId=%s", teamCityClient.baseUri,
teamCityClient.buildId,
teamCityClient.buildTypeId),
isPersonal = teamCityClient.isPersonalBuild,
timestamp = ZonedDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
)
return PerformanceMetricsDto.create(
projectName = uniqueTestIdentifier,
projectURL = "",
projectDescription = "",
methodName = uniqueTestIdentifier,
buildNumber = BuildNumber.currentVersion(),
metrics = metrics,
buildInfo = buildInfo
metrics = metrics
)
}

View File

@@ -5,7 +5,6 @@ import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.intellij.openapi.application.PathManager
import com.intellij.openapi.util.BuildNumber
import com.intellij.testFramework.BenchmarkTestInfo
import com.intellij.tools.ide.metrics.collector.publishing.CIServerBuildInfo
import com.intellij.tools.ide.metrics.collector.publishing.PerformanceMetricsDto
import kotlinx.coroutines.delay
import kotlinx.coroutines.runBlocking
@@ -82,25 +81,13 @@ class SpanExtractionFromUnitPerfTest {
val reportFile = Files.createTempFile("temp", ".json")
val buildInfo = CIServerBuildInfo(
"8727723",
"someBuildType",
"configurationName",
"233.5353.98",
"branch_name",
String.format("%s/viewLog.html?buildId=%s&buildTypeId=%s", "base_uri", "8727723", "someBuildType"),
false,
ZonedDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
)
val metricsDto = PerformanceMetricsDto.create(
mainMetricName,
"",
"",
testInfo.displayName,
BuildNumber.fromString("233.SNAPSHOT")!!,
extractedMetrics,
buildInfo
extractedMetrics
)
// just invoke serialization to validate that it completes without exceptions
@@ -135,25 +122,13 @@ class SpanExtractionFromUnitPerfTest {
val reportFile = Files.createTempFile("temp", ".json")
val buildInfo = CIServerBuildInfo(
"8727723",
"someBuildType",
"configurationName",
"233.5353.98",
"branch_name",
String.format("%s/viewLog.html?buildId=%s&buildTypeId=%s", "base_uri", "8727723", "someBuildType"),
false,
ZonedDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
)
val metricsDto = PerformanceMetricsDto.create(
mainMetricName,
"",
"",
testInfo.displayName,
BuildNumber.fromString("233.SNAPSHOT")!!,
extractedMetrics,
buildInfo
extractedMetrics
)
// just invoke serialization to validate that it completes without exceptions

View File

@@ -1,19 +0,0 @@
package com.intellij.tools.ide.metrics.collector.publishing
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonInclude
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
data class CIServerBuildInfo(
val buildId: String,
val typeId: String,
val configName: String,
val buildNumber: String,
val branchName: String,
val url: String,
val isPersonal: Boolean,
val timestamp: String = ZonedDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
)

View File

@@ -3,7 +3,6 @@ package com.intellij.tools.ide.metrics.collector.publishing
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.intellij.openapi.util.BuildNumber
import com.intellij.openapi.util.SystemInfo
import com.intellij.tools.ide.metrics.collector.metrics.MetricGroup
import com.intellij.tools.ide.metrics.collector.metrics.PerformanceMetrics
import com.intellij.tools.ide.metrics.collector.metrics.toJson
import com.intellij.util.system.OS
@@ -32,7 +31,6 @@ data class IJPerfMetricsDto<T: Number>(
val productCode: String,
val methodName: String,
val metrics: List<ApplicationMetricDto<T>>,
val tcInfo: CIServerBuildInfo
) {
companion object {
private const val VERSION = "1"
@@ -45,9 +43,8 @@ data class IJPerfMetricsDto<T: Number>(
methodName: String,
buildNumber: BuildNumber,
metrics: Collection<PerformanceMetrics.Metric>,
buildInfo: CIServerBuildInfo,
generated: String = ZonedDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME)
) = create(projectName, projectURL, projectDescription, methodName, buildNumber, metrics.map { it.toJson() }, buildInfo, generated)
generated: String = ZonedDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME),
) = create(projectName, projectURL, projectDescription, methodName, buildNumber, metrics.map { it.toJson() }, generated)
@JvmStatic
fun <T: Number> create(
@@ -57,7 +54,6 @@ data class IJPerfMetricsDto<T: Number>(
methodName: String,
buildNumber: BuildNumber,
metrics: List<ApplicationMetricDto<T>>,
buildInfo: CIServerBuildInfo,
generated: String = ZonedDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME)
) = IJPerfMetricsDto(
version = VERSION,
@@ -74,7 +70,6 @@ data class IJPerfMetricsDto<T: Number>(
productCode = buildNumber.productCode,
metrics = metrics,
methodName = methodName,
tcInfo = buildInfo,
projectDescription = projectDescription
)
}