Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ actual object Configuration : AgentConfiguration {
actual override val parameters: AgentParameters
get() = configuration.parameters

val inputParameters: Map<String, String>
get() = configuration.inputParameters

actual fun initializeNative(agentOptions: String) {
val environmentVariablesProvider = EnvironmentVariablesProvider()
logger.debug { "initializeNative: Found environment variables: ${environmentVariablesProvider.configuration}" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,12 @@ class RecommendedTestsReceiverImpl(
logger.debug { "Loading tests to skip from file: $filePath" }
return runCatching {
val content = File(filePath).readText()
val entries = fileJson.decodeFromString(ListSerializer(TestDefinitionResponse.serializer()), content)
entries.map { it.toTestMethodInfo() }.also {
logger.info { "Loaded ${it.size} tests to skip from file: $filePath" }
}
fileJson.decodeFromString(ListSerializer(TestDefinitionResponse.serializer()), content)
.filter { it.impactStatus == "NOT_IMPACTED" }
.map { it.toTestMethodInfo() }
.also {
logger.info { "Loaded ${it.size} tests to skip from file: $filePath" }
}
}.onFailure {
logger.warn { "Unable to load tests to skip from file '$filePath'. Error message: $it" }
}.getOrElse {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ package com.epam.drill.agent.transport

import com.epam.drill.agent.common.transport.AgentMessage
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonObject

@Serializable
class BuildPayload(
Expand All @@ -27,5 +28,8 @@ class BuildPayload(
val branch: String? = null,
val commitDate: String? = null,
val commitMessage: String? = null,
val commitAuthor: String? = null
val commitAuthor: String? = null,
val agentVersion: String? = null,
val agentEnvironment: JsonObject? = null,
val agentParams: JsonObject? = null
) : AgentMessage()
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ package com.epam.drill.agent.transport

import com.epam.drill.agent.common.transport.AgentMessage
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.JsonObject

@Serializable
class InstancePayload(
Expand All @@ -26,4 +27,7 @@ class InstancePayload(
val commitSha: String? = null,
val buildVersion: String? = null,
val envId: String? = null,
val agentVersion: String? = null,
val agentEnvironment: JsonObject? = null,
val agentParams: JsonObject? = null,
): AgentMessage()
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,18 @@
*/
package com.epam.drill.agent.transport

import java.net.InetAddress
import com.epam.drill.agent.agentVersion
import com.epam.drill.agent.configuration.Configuration
import com.epam.drill.agent.common.transport.AgentMessageDestination
import com.epam.drill.agent.common.transport.AgentMessageSender
import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.JsonPrimitive
import mu.KotlinLogging

private val logger = KotlinLogging.logger {}

private val AGENT_PARAMS_FILTER = setOf("apiKey", "sslTruststorePassword", "apiUrl", "groupId", "appId", "instanceId", "commitSha", "buildVersion", "envId")

actual object JvmModuleMessageSender : AgentMessageSender by DataIngestMessageSender {
actual fun sendAgentMetadata() {
Expand All @@ -29,7 +38,10 @@ actual object JvmModuleMessageSender : AgentMessageSender by DataIngestMessageSe
instanceId = Configuration.agentMetadata.instanceId,
commitSha = Configuration.agentMetadata.commitSha,
buildVersion = Configuration.agentMetadata.buildVersion,
envId = Configuration.agentMetadata.envId
envId = Configuration.agentMetadata.envId,
agentVersion = agentVersion,
agentEnvironment = agentEnvironment(),
agentParams = agentParams()
),
InstancePayload.serializer()
)
Expand All @@ -42,9 +54,33 @@ actual object JvmModuleMessageSender : AgentMessageSender by DataIngestMessageSe
groupId = Configuration.agentMetadata.groupId,
appId = Configuration.agentMetadata.appId,
commitSha = Configuration.agentMetadata.commitSha,
buildVersion = Configuration.agentMetadata.buildVersion
buildVersion = Configuration.agentMetadata.buildVersion,
agentVersion = agentVersion,
agentEnvironment = agentEnvironment(),
agentParams = agentParams()
),
BuildPayload.serializer()
)
}

private fun agentParams(): JsonObject = JsonObject(
Configuration.inputParameters
.filterKeys { it !in AGENT_PARAMS_FILTER }
.mapValues { (_, value) -> JsonPrimitive(value) }
)

private fun agentEnvironment(): JsonObject = JsonObject(
buildMap {
put("osName", JsonPrimitive(System.getProperty("os.name")))
put("osVersion", JsonPrimitive(System.getProperty("os.version")))
put("osArch", JsonPrimitive(System.getProperty("os.arch")))
put("javaVersion", JsonPrimitive(System.getProperty("java.version")))
put("javaVendor", JsonPrimitive(System.getProperty("java.vendor")))
put("host", JsonPrimitive(hostName()))
}
)

private fun hostName(): String? = runCatching { InetAddress.getLocalHost().hostName }
.onFailure { logger.debug(it) { "Unable to resolve local host name for agent environment." } }
.getOrNull()
}
Loading