Skip to content

Commit

Permalink
Switch to using measureTimedValue
Browse files Browse the repository at this point in the history
Switch to kotlin.time.measureTimedValue instead of TimeTracer.logTime.
  • Loading branch information
kilink committed Apr 2, 2024
1 parent 8c40b5e commit 7aa0eb4
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import com.fasterxml.jackson.module.kotlin.readValue
import com.netflix.graphql.dgs.DgsExecutionResult
import com.netflix.graphql.dgs.DgsQueryExecutor
import com.netflix.graphql.dgs.internal.utils.MultipartVariableMapper
import com.netflix.graphql.dgs.internal.utils.TimeTracer
import com.netflix.graphql.dgs.internal.utils.VariableMappingException
import graphql.execution.reactive.SubscriptionPublisher
import org.intellij.lang.annotations.Language
Expand All @@ -42,6 +41,7 @@ import org.springframework.web.bind.annotation.RestController
import org.springframework.web.context.request.WebRequest
import org.springframework.web.multipart.MultipartFile
import java.io.InputStream
import kotlin.time.measureTimedValue

/**
* HTTP entrypoint for the framework. Functionality in this class should be limited, so that as much code as possible
Expand Down Expand Up @@ -210,20 +210,17 @@ open class DgsRestController(
headers: HttpHeaders,
webRequest: WebRequest
): ResponseEntity<Any> {
val executionResult = TimeTracer.logTime(
{
dgsQueryExecutor.execute(
inputQuery.query,
inputQuery.variables.orEmpty(),
inputQuery.extensions,
headers,
inputQuery.operationName,
webRequest
)
},
logger,
"Executed query in {}ms"
)
val (executionResult, elapsed) = measureTimedValue {
dgsQueryExecutor.execute(
inputQuery.query,
inputQuery.variables.orEmpty(),
inputQuery.extensions,
headers,
inputQuery.operationName,
webRequest
)
}
logger.debug("Executed query in {}ms", elapsed.inWholeMilliseconds)
logger.debug(
"Execution result - Contains data: '{}' - Number of errors: {}",
executionResult.isDataPresent,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,20 +19,22 @@ package com.netflix.graphql.dgs.internal
import com.netflix.graphql.dgs.context.DgsContext
import com.netflix.graphql.dgs.context.DgsCustomContextBuilder
import com.netflix.graphql.dgs.context.DgsCustomContextBuilderWithRequest
import com.netflix.graphql.dgs.internal.utils.TimeTracer
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.http.HttpHeaders
import org.springframework.web.context.request.WebRequest
import java.util.*
import kotlin.time.measureTimedValue

open class DefaultDgsGraphQLContextBuilder(
private val dgsCustomContextBuilder: Optional<DgsCustomContextBuilder<*>>,
private val dgsCustomContextBuilderWithRequest: Optional<DgsCustomContextBuilderWithRequest<*>> = Optional.empty()
) {

fun build(dgsRequestData: DgsWebMvcRequestData): DgsContext {
return TimeTracer.logTime({ buildDgsContext(dgsRequestData) }, logger, "Created DGS context in {}ms")
val (context, elapsed) = measureTimedValue { buildDgsContext(dgsRequestData) }
logger.debug("Created DGS context in {}ms", elapsed.inWholeMilliseconds)
return context
}

private fun buildDgsContext(dgsRequestData: DgsWebMvcRequestData?): DgsContext {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package com.netflix.graphql.dgs.internal.utils
import org.slf4j.Logger

object TimeTracer {
@Deprecated("Use kotlin.time.measureTimedValue")
fun <R> logTime(action: () -> R, logger: Logger, message: String): R {
val startTime = System.currentTimeMillis()
val result = action()
Expand Down

0 comments on commit 7aa0eb4

Please sign in to comment.